package request

import (
	"gorm.io/datatypes"
	comRequest "server/model/common/request"
)

// User register structure
type Register struct {
	Username     string   `json:"userName"`
	Password     string   `json:"passWord"`
	NickName     string   `json:"nickName" gorm:"default:'QMPlusUser'"`
	HeaderImg    string   `json:"headerImg" gorm:"default:'https://qmplusimg.henrongyi.top/gva_header.jpg'"`
	AuthorityId  string   `json:"authorityId" gorm:"default:888"`
	AuthorityIds []string `json:"authorityIds"`
}

// User login structure
type Login struct {
	Username  string `json:"username" form:"username"`   // 用户名
	Password  string `json:"password" form:"password"`   // 密码
	Captcha   string `json:"captcha" form:"captcha"`     // 验证码
	CaptchaId string `json:"captchaId" form:"captchaId"` // 验证码ID
}

// 修改密码结构体
type ResetPwdRequest struct {
	OldPassword     string `form:"old" json:"old" binding:"required"`           //旧密码
	NewPassword     string `form:"password" json:"password" binding:"required"` //新密码
	ConfirmPassword string `form:"confirm" json:"confirm" binding:"required"`   //确认密码
	PasswordLevel   uint   `form:"password_level" json:"password_level"`        //密码安全等级
}

//修改用户信息结构体
type SysUserUpdate struct {
	Name           string         `json:"name"`
	Avatar         string         `json:"avatar"`
	Tags           datatypes.JSON `json:"tags"`
	Country        string         `json:"country"`
	CountryName    string         `json:"country_name"`
	Geographic     datatypes.JSON `json:"geographic"`
	GeographicName datatypes.JSON `json:"geographic_name"`
	Address        string         `json:"address"`
	Phone          string         `json:"phone"`
	Profile        string         `json:"profile"`
}

//系统用户列表请求数据结构
type SysUserGetList struct {
	comRequest.PageInfo
	Status int    `form:"status"` //使用状态
	Name   string `form:"name"`   //用户名称
	Email  string `form:"email"`  //登录邮箱
}

//用户表数组字段
type SysUserRoleIdVal struct {
	Value uint   `json:"value"`
	Label string `json:"label"`
}
